package com.xdcplus.web.service.bd;

import com.xdcplus.mp.service.BaseService;
import com.xdcplus.pager.vo.PageVO;
import com.xdcplus.web.common.pojo.entity.bd.BdWetWeightAlarmConfig;
import com.xdcplus.web.common.pojo.dto.bd.BdWetWeightAlarmConfigDTO;
import com.xdcplus.web.common.pojo.dto.bd.BdWetWeightAlarmConfigFilterDTO;
import com.xdcplus.web.common.pojo.vo.bd.BdWetWeightAlarmConfigVO;

import java.util.List;


/**
 * 丝印湿重报警推送配置(BdWetWeightAlarmConfig)表服务接口层
 *
 * @author Zhecheng.Ren
 * @since 2024-10-22 15:10:14
 */
public interface BdWetWeightAlarmConfigService extends BaseService<BdWetWeightAlarmConfig, BdWetWeightAlarmConfig, BdWetWeightAlarmConfigVO> {

    /**
     * 添加丝印湿重报警推送配置(BdWetWeightAlarmConfig)
     *
     * @param bdWetWeightAlarmConfigDTO 丝印湿重报警推送配置(BdWetWeightAlarmConfigDTO)
     */
    void saveBdWetWeightAlarmConfig(BdWetWeightAlarmConfigDTO bdWetWeightAlarmConfigDTO);

    /**
     * 修改丝印湿重报警推送配置(BdWetWeightAlarmConfig)
     *
     * @param bdWetWeightAlarmConfigDTO 丝印湿重报警推送配置(BdWetWeightAlarmConfigDTO)
     */
    void updateBdWetWeightAlarmConfig(BdWetWeightAlarmConfigDTO bdWetWeightAlarmConfigDTO);

    /**
     * 批量保存或更新丝印湿重报警推送配置(BdWetWeightAlarmConfig)
     *
     * @param bdWetWeightAlarmConfigList 丝印湿重报警推送配置(BdWetWeightAlarmConfigList)
     * @return {@link Boolean} 是否成功
     */
    Boolean saveOrUpdateBatch(List<BdWetWeightAlarmConfig> bdWetWeightAlarmConfigList);

    /**
     * 批量保存或更新丝印湿重报警推送配置(BdWetWeightAlarmConfigDTOList)
     *
     * @param bdWetWeightAlarmConfigDTOList 丝印湿重报警推送配置(BdWetWeightAlarmConfigDTOList)
     * @return {@link Boolean} 是否成功
     */
    Boolean saveOrUpdateBatchByDTOList(List<BdWetWeightAlarmConfigDTO> bdWetWeightAlarmConfigDTOList);

    /**
     * 删除丝印湿重报警推送配置(BdWetWeightAlarmConfig)
     *
     * @param id 丝印湿重报警推送配置(BdWetWeightAlarmConfig)主键
     */
    void deleteBdWetWeightAlarmConfigLogical(Long id);
    
    void deleteBdWetWeightAlarmConfigByIds(String ids);

    /**
     * 查询丝印湿重报警推送配置(BdWetWeightAlarmConfig)
     *
     * @param bdWetWeightAlarmConfigFilterDTO 过程状态过滤DTO
     * @return {@link PageVO<BdWetWeightAlarmConfigVO>} 状态信息
     */
    List<BdWetWeightAlarmConfigVO> queryBdWetWeightAlarmConfigVOList(BdWetWeightAlarmConfigFilterDTO bdWetWeightAlarmConfigFilterDTO);

    /**
     * 查询丝印湿重报警推送配置(BdWetWeightAlarmConfig)
     *
     * @param bdWetWeightAlarmConfigFilterDTO 过程状态过滤DTO
     * @return {@link PageVO<BdWetWeightAlarmConfigVO>} 状态信息
     */
    PageVO<BdWetWeightAlarmConfigVO> queryBdWetWeightAlarmConfig(BdWetWeightAlarmConfigFilterDTO bdWetWeightAlarmConfigFilterDTO);

    /**
     * 查询一个
     *
     * @param id 丝印湿重报警推送配置(BdWetWeightAlarmConfig)主键
     * @return {@link BdWetWeightAlarmConfigVO} 丝印湿重报警推送配置(BdWetWeightAlarmConfig)信息
     */
    BdWetWeightAlarmConfigVO queryBdWetWeightAlarmConfigById(Long id);
}
